package com.dm.service;

import com.dm.dto.UserRegisterDto;
import com.dm.vo.TokenVo;
import com.dm.vo.UserInfoVo;

/**
 * @Author DongJunJun
 * @Date 2022/9/6 19:32
 */
public interface DmUserService {


    /**
     * 发送验证码
     *
     * @param phone 邮箱/手机
     */
    void sendVerifyCode(String phone);


    /**
     * 验证手机号是否被使用
     *
     * @param phone 邮箱/手机
     */
    void checkEmail(String phone);

    /**
     * 用户注册
     *
     * @param userRegisterDto 注册的数据传输对象
     */
    void register(UserRegisterDto userRegisterDto);

    /**
     * 用户登录
     *
     * @param phone    邮箱/手机
     * @param password 密码
     * @return
     */
    Object[] login(String phone, String password);

    /**
     * 刷新token
     *
     * @param token
     * @return
     */
    TokenVo replaceToken(String token);

    /**
     * 个人信息
     *
     * @param token
     * @return
     */
    UserInfoVo queryUserInfoByToken(String token);
}
